home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
program
/
passmsrc.arc
/
passm.doc
next >
Wrap
Text File
|
1989-02-04
|
5KB
|
137 lines
_✓I_✓n_✓t_✓r_✓o_✓d_✓u_✓c_✓t_✓i_✓o_✓n
Passm, a PAL Assembler, allows the user to write boolean
equations describing the outputs of a PAL and generates a JEDEC fuse
file. This assembler supports most 20 and 24 pin PALs. Currently, the
list of parts supported are:
20 Pin PALs 24 Pin PALs
------------ -----------
10L8, 10H8 12L10
12L6, 12H6 14L8
14L4, 14H4 16L6
16L2, 16H2 18L4
16L8 20L2
16R4 20L10
16R6 20L8
16R8 20R4
20R6
20R8
22V10
The sources for PASSM are included so that customizing for additional
parts can be done. The program has been writen in Pascal and conforms
with ISO Pascal, except for two areas. One, it uses the 'otherwise'
descriptor for the CASE statements, and two, it uses packed arrays.
The following is a description of PASSM syntax.
_✓1. _✓L_✓a_✓n_✓g_✓u_✓a_✓g_✓e _✓D_✓e_✓s_✓c_✓r_✓i_✓p_✓t_✓i_✓o_✓n
Before describing the syntax for PASSM, let us go thru the
notation used in describing the language. When showing a PASSM key-
word, it will be enclosed using angle brackets, > and < . The ASCII
string enclosed within these bracket must always appear in such form
(ie. use the indicated case, as well as spaces, etc.). When a given
portion, or section, is optional, it will be enclosed with { and }.
With this in mind, let us start.
A PASSM source file consists of three main sections, all
enclosed within a module description. These three sections are: one,
the device specification (ie. what type of PAL), two, a pin list (ie.
symbolic names to be attached to a particular pin), and three, the
equations section (ie. a boolean description of a given output). All
comments in PASSM start with a double quote >"< and are assumed to end
with the end of line terminator (ie. carriage return). Also, valid
PASSM delimiters are tabs or space characters.
Every source file MUST have a 'module' declaration. This
module declaration informs PASSM that it must start assembling a par-
ticular PAL description. A module declaration consists of the follow-
ing:
Passm Manual
>module< module_name{;} {optional_sections}
device_type_declaration
pin_list_section
boolean_equations
>end<
The module_name is an identifier, no more than 15 characters, which
must start with a letter. The set of valid characters for an identif-
ier is : a..z, A..Z, underscore '_', and the minus sign '-'. Notice
that the semicolon ending the module name is optional.
The next element within a module is the optional_section. This
section is being reserved for future features, such as flags indicat-
ing what type of reduction to do with the boolean equations, include
files, etc. At the present time, no optional features are enabled.
The next section is the device_type_declaration. This section
informs PASSM as to what type of device is being targeted, ie. a 16r4,
etc. This section syntax is as follows:
device_name >device< >'<part_type>';<
The device_name, an identifier, is the symbolic name with which the
user may refer to the PAL. The part_type is the actual device being
programmed. The following is the list of available devices:
20 Pin Pals 24 Pin Pals
----------- -----------
p10l8, p10h8 p12l10
p12l6, p12h6 p14l8
p14l4, p14h4 p16l6
p16l2, p16h2 p18l4
p16l8 p20l2
p16r4 p20l10
p16r6 p20l8
p16r8 p20r4
p20r6
p20r8
p22v10
Notice that the part_type must appear as shown above.
The next section in a module description is the pin list. This
section provides a symbolic reference between the signal names used in
the equations, and the device physical pins. The syntax followed is:
signal_name {, signal_name} >pin< pin_numbers >;<
Page 2